0 JBC
↳1 JBCToGraph (⇒, 160 ms)
↳2 JBCTerminationGraph
↳3 TerminationGraphToSCCProof (⇒, 0 ms)
↳4 JBCTerminationSCC
↳5 SCCToIDPv1Proof (⇒, 270 ms)
↳6 IDP
↳7 IDPNonInfProof (⇒, 420 ms)
↳8 AND
↳9 IDP
↳10 IDependencyGraphProof (⇔, 0 ms)
↳11 TRUE
↳12 IDP
↳13 IDependencyGraphProof (⇔, 0 ms)
↳14 TRUE
public class Fibonacci {
public static void main(String[] args) {
fib(args.length);
}
public static int fib(int x) {
if (x == 0) {
return 0;
} else if (x == 1) {
return 1;
} else {
return fib(x-1) + fib(x-2);
}
}
}
Generated 30 rules for P and 20 rules for R.
P rules:
64_0_fib_NE(EOS(STATIC_64), i4, i4) → 67_0_fib_NE(EOS(STATIC_67), i4, i4)
67_0_fib_NE(EOS(STATIC_67), i4, i4) → 69_0_fib_Load(EOS(STATIC_69), i4) | >(i4, 0)
69_0_fib_Load(EOS(STATIC_69), i4) → 74_0_fib_ConstantStackPush(EOS(STATIC_74), i4, i4)
74_0_fib_ConstantStackPush(EOS(STATIC_74), i4, i4) → 79_0_fib_NE(EOS(STATIC_79), i4, i4, 1)
79_0_fib_NE(EOS(STATIC_79), i7, i7, matching1) → 86_0_fib_NE(EOS(STATIC_86), i7, i7, 1) | =(matching1, 1)
86_0_fib_NE(EOS(STATIC_86), i7, i7, matching1) → 94_0_fib_Load(EOS(STATIC_94), i7) | &&(!(=(i7, 1)), =(matching1, 1))
94_0_fib_Load(EOS(STATIC_94), i7) → 99_0_fib_ConstantStackPush(EOS(STATIC_99), i7, i7)
99_0_fib_ConstantStackPush(EOS(STATIC_99), i7, i7) → 106_0_fib_IntArithmetic(EOS(STATIC_106), i7, i7, 1)
106_0_fib_IntArithmetic(EOS(STATIC_106), i7, i7, matching1) → 115_0_fib_InvokeMethod(EOS(STATIC_115), i7, -(i7, 1)) | &&(>(i7, 0), =(matching1, 1))
115_0_fib_InvokeMethod(EOS(STATIC_115), i7, i11) → 120_1_fib_InvokeMethod(120_0_fib_Load(EOS(STATIC_120), i11), i7, i11)
120_0_fib_Load(EOS(STATIC_120), i11) → 127_0_fib_Load(EOS(STATIC_127), i11)
120_1_fib_InvokeMethod(98_0_fib_Return(EOS(STATIC_98), matching1, matching2), i7, matching3) → 145_0_fib_Return(EOS(STATIC_145), i7, 1, 1, 1) | &&(&&(=(matching1, 1), =(matching2, 1)), =(matching3, 1))
120_1_fib_InvokeMethod(570_0_fib_Return(EOS(STATIC_570), i161), i7, i179) → 600_0_fib_Return(EOS(STATIC_600), i7, i179, i161)
120_1_fib_InvokeMethod(617_0_fib_Return(EOS(STATIC_617), i202), i7, i207) → 633_0_fib_Return(EOS(STATIC_633), i7, i207, i202)
127_0_fib_Load(EOS(STATIC_127), i11) → 61_0_fib_Load(EOS(STATIC_61), i11)
61_0_fib_Load(EOS(STATIC_61), i1) → 64_0_fib_NE(EOS(STATIC_64), i1, i1)
145_0_fib_Return(EOS(STATIC_145), i7, matching1, matching2, matching3) → 147_0_fib_Load(EOS(STATIC_147), i7, 1) | &&(&&(=(matching1, 1), =(matching2, 1)), =(matching3, 1))
147_0_fib_Load(EOS(STATIC_147), i7, matching1) → 256_0_fib_Load(EOS(STATIC_256), i7, 1) | =(matching1, 1)
256_0_fib_Load(EOS(STATIC_256), i7, i40) → 345_0_fib_Load(EOS(STATIC_345), i7, i40)
345_0_fib_Load(EOS(STATIC_345), i7, i79) → 444_0_fib_Load(EOS(STATIC_444), i7, i79)
444_0_fib_Load(EOS(STATIC_444), i7, i119) → 539_0_fib_Load(EOS(STATIC_539), i7, i119)
539_0_fib_Load(EOS(STATIC_539), i7, i161) → 545_0_fib_ConstantStackPush(EOS(STATIC_545), i161, i7)
545_0_fib_ConstantStackPush(EOS(STATIC_545), i161, i7) → 548_0_fib_IntArithmetic(EOS(STATIC_548), i161, i7, 2)
548_0_fib_IntArithmetic(EOS(STATIC_548), i161, i7, matching1) → 550_0_fib_InvokeMethod(EOS(STATIC_550), i161, -(i7, 2)) | &&(>(i7, 0), =(matching1, 2))
550_0_fib_InvokeMethod(EOS(STATIC_550), i161, i172) → 552_1_fib_InvokeMethod(552_0_fib_Load(EOS(STATIC_552), i172), i161, i172)
552_0_fib_Load(EOS(STATIC_552), i172) → 554_0_fib_Load(EOS(STATIC_554), i172)
554_0_fib_Load(EOS(STATIC_554), i172) → 61_0_fib_Load(EOS(STATIC_61), i172)
600_0_fib_Return(EOS(STATIC_600), i7, i179, i161) → 523_0_fib_Return(EOS(STATIC_523), i7, i179, i161)
523_0_fib_Return(EOS(STATIC_523), i7, i162, i161) → 539_0_fib_Load(EOS(STATIC_539), i7, i161)
633_0_fib_Return(EOS(STATIC_633), i7, i207, i202) → 523_0_fib_Return(EOS(STATIC_523), i7, i207, i202)
R rules:
64_0_fib_NE(EOS(STATIC_64), matching1, matching2) → 68_0_fib_NE(EOS(STATIC_68), 0, 0) | &&(=(matching1, 0), =(matching2, 0))
68_0_fib_NE(EOS(STATIC_68), matching1, matching2) → 70_0_fib_ConstantStackPush(EOS(STATIC_70), 0) | &&(=(matching1, 0), =(matching2, 0))
70_0_fib_ConstantStackPush(EOS(STATIC_70), matching1) → 76_0_fib_Return(EOS(STATIC_76), 0, 0) | =(matching1, 0)
79_0_fib_NE(EOS(STATIC_79), matching1, matching2, matching3) → 84_0_fib_NE(EOS(STATIC_84), 1, 1, 1) | &&(&&(=(matching1, 1), =(matching2, 1)), =(matching3, 1))
84_0_fib_NE(EOS(STATIC_84), matching1, matching2, matching3) → 92_0_fib_ConstantStackPush(EOS(STATIC_92), 1) | &&(&&(=(matching1, 1), =(matching2, 1)), =(matching3, 1))
92_0_fib_ConstantStackPush(EOS(STATIC_92), matching1) → 98_0_fib_Return(EOS(STATIC_98), 1, 1) | =(matching1, 1)
234_0_fib_Return(EOS(STATIC_234), i7, i41, i40) → 331_0_fib_Return(EOS(STATIC_331), i7, i41, i40)
331_0_fib_Return(EOS(STATIC_331), i7, i80, i79) → 427_0_fib_Return(EOS(STATIC_427), i7, i80, i79)
427_0_fib_Return(EOS(STATIC_427), i7, i120, i119) → 523_0_fib_Return(EOS(STATIC_523), i7, i120, i119)
552_1_fib_InvokeMethod(76_0_fib_Return(EOS(STATIC_76), matching1, matching2), i161, matching3) → 562_0_fib_Return(EOS(STATIC_562), i161, 0, 0, 0) | &&(&&(=(matching1, 0), =(matching2, 0)), =(matching3, 0))
552_1_fib_InvokeMethod(98_0_fib_Return(EOS(STATIC_98), matching1, matching2), i161, matching3) → 563_0_fib_Return(EOS(STATIC_563), i161, 1, 1, 1) | &&(&&(=(matching1, 1), =(matching2, 1)), =(matching3, 1))
552_1_fib_InvokeMethod(570_0_fib_Return(EOS(STATIC_570), i182), i161, i183) → 601_0_fib_Return(EOS(STATIC_601), i161, i183, i182)
552_1_fib_InvokeMethod(617_0_fib_Return(EOS(STATIC_617), i202), i161, i209) → 636_0_fib_Return(EOS(STATIC_636), i161, i209, i202)
562_0_fib_Return(EOS(STATIC_562), i161, matching1, matching2, matching3) → 565_0_fib_IntArithmetic(EOS(STATIC_565), i161, 0) | &&(&&(=(matching1, 0), =(matching2, 0)), =(matching3, 0))
563_0_fib_Return(EOS(STATIC_563), i161, matching1, matching2, matching3) → 568_0_fib_IntArithmetic(EOS(STATIC_568), i161, 1) | &&(&&(=(matching1, 1), =(matching2, 1)), =(matching3, 1))
565_0_fib_IntArithmetic(EOS(STATIC_565), i161, matching1) → 570_0_fib_Return(EOS(STATIC_570), +(i161, 0)) | &&(>(i161, 0), =(matching1, 0))
568_0_fib_IntArithmetic(EOS(STATIC_568), i161, matching1) → 613_0_fib_IntArithmetic(EOS(STATIC_613), i161, 1) | =(matching1, 1)
601_0_fib_Return(EOS(STATIC_601), i161, i183, i182) → 613_0_fib_IntArithmetic(EOS(STATIC_613), i161, i182)
613_0_fib_IntArithmetic(EOS(STATIC_613), i161, i182) → 617_0_fib_Return(EOS(STATIC_617), +(i161, i182)) | &&(>(i161, 0), >(i182, 0))
636_0_fib_Return(EOS(STATIC_636), i161, i209, i202) → 601_0_fib_Return(EOS(STATIC_601), i161, i209, i202)
Combined rules. Obtained 4 conditional rules for P and 5 conditional rules for R.
P rules:
64_0_fib_NE(EOS(STATIC_64), x0, x0) → 120_1_fib_InvokeMethod(64_0_fib_NE(EOS(STATIC_64), -(x0, 1), -(x0, 1)), x0, -(x0, 1)) | &&(>(x0, 0), !(=(x0, 1)))
120_1_fib_InvokeMethod(98_0_fib_Return(EOS(STATIC_98), 1, 1), x2, 1) → 552_1_fib_InvokeMethod(64_0_fib_NE(EOS(STATIC_64), -(x2, 2), -(x2, 2)), 1, -(x2, 2)) | >(x2, 0)
120_1_fib_InvokeMethod(570_0_fib_Return(EOS(STATIC_570), x0), x1, x2) → 552_1_fib_InvokeMethod(64_0_fib_NE(EOS(STATIC_64), -(x1, 2), -(x1, 2)), x0, -(x1, 2)) | >(x1, 0)
120_1_fib_InvokeMethod(617_0_fib_Return(EOS(STATIC_617), x0), x1, x2) → 552_1_fib_InvokeMethod(64_0_fib_NE(EOS(STATIC_64), -(x1, 2), -(x1, 2)), x0, -(x1, 2)) | >(x1, 0)
R rules:
64_0_fib_NE(EOS(STATIC_64), 0, 0) → 76_0_fib_Return(EOS(STATIC_76), 0, 0)
552_1_fib_InvokeMethod(76_0_fib_Return(EOS(STATIC_76), 0, 0), arith[1], 0) → 570_0_fib_Return(EOS(STATIC_570), arith[1]) | >(arith[1], 0)
552_1_fib_InvokeMethod(570_0_fib_Return(EOS(STATIC_570), x0), x1, x2) → 617_0_fib_Return(EOS(STATIC_617), +(x1, x0)) | &&(>(x1, 0), >(x0, 0))
552_1_fib_InvokeMethod(617_0_fib_Return(EOS(STATIC_617), x0), x1, x2) → 617_0_fib_Return(EOS(STATIC_617), +(x1, x0)) | &&(>(x1, 0), >(x0, 0))
552_1_fib_InvokeMethod(98_0_fib_Return(EOS(STATIC_98), 1, 1), x2, 1) → 617_0_fib_Return(EOS(STATIC_617), +(x2, 1)) | >(x2, 0)
Filtered ground terms:
64_0_fib_NE(x1, x2, x3) → 64_0_fib_NE(x2, x3)
617_0_fib_Return(x1, x2) → 617_0_fib_Return(x2)
570_0_fib_Return(x1, x2) → 570_0_fib_Return(x2)
Cond_120_1_fib_InvokeMethod(x1, x2, x3, x4) → Cond_120_1_fib_InvokeMethod(x1, x3)
98_0_fib_Return(x1, x2, x3) → 98_0_fib_Return
Cond_64_0_fib_NE(x1, x2, x3, x4) → Cond_64_0_fib_NE(x1, x3, x4)
Cond_552_1_fib_InvokeMethod3(x1, x2, x3, x4) → Cond_552_1_fib_InvokeMethod3(x1, x3)
Cond_552_1_fib_InvokeMethod(x1, x2, x3, x4) → Cond_552_1_fib_InvokeMethod(x1, x3)
76_0_fib_Return(x1, x2, x3) → 76_0_fib_Return
Filtered duplicate args:
64_0_fib_NE(x1, x2) → 64_0_fib_NE(x2)
Cond_64_0_fib_NE(x1, x2, x3) → Cond_64_0_fib_NE(x1, x3)
Filtered unneeded arguments:
Cond_120_1_fib_InvokeMethod1(x1, x2, x3, x4) → Cond_120_1_fib_InvokeMethod1(x1, x2, x3)
Cond_120_1_fib_InvokeMethod2(x1, x2, x3, x4) → Cond_120_1_fib_InvokeMethod2(x1, x2, x3)
Cond_552_1_fib_InvokeMethod1(x1, x2, x3, x4) → Cond_552_1_fib_InvokeMethod1(x1, x2, x3)
Cond_552_1_fib_InvokeMethod2(x1, x2, x3, x4) → Cond_552_1_fib_InvokeMethod2(x1, x2, x3)
Combined rules. Obtained 4 conditional rules for P and 5 conditional rules for R.
P rules:
64_0_fib_NE(x0) → 120_1_fib_InvokeMethod(64_0_fib_NE(-(x0, 1)), x0, -(x0, 1)) | &&(>(x0, 0), !(=(x0, 1)))
120_1_fib_InvokeMethod(98_0_fib_Return, x2, 1) → 552_1_fib_InvokeMethod(64_0_fib_NE(-(x2, 2)), 1, -(x2, 2)) | >(x2, 0)
120_1_fib_InvokeMethod(570_0_fib_Return(x0), x1, x2) → 552_1_fib_InvokeMethod(64_0_fib_NE(-(x1, 2)), x0, -(x1, 2)) | >(x1, 0)
120_1_fib_InvokeMethod(617_0_fib_Return(x0), x1, x2) → 552_1_fib_InvokeMethod(64_0_fib_NE(-(x1, 2)), x0, -(x1, 2)) | >(x1, 0)
R rules:
64_0_fib_NE(0) → 76_0_fib_Return
552_1_fib_InvokeMethod(76_0_fib_Return, arith[1], 0) → 570_0_fib_Return(arith[1]) | >(arith[1], 0)
552_1_fib_InvokeMethod(570_0_fib_Return(x0), x1, x2) → 617_0_fib_Return(+(x1, x0)) | &&(>(x1, 0), >(x0, 0))
552_1_fib_InvokeMethod(617_0_fib_Return(x0), x1, x2) → 617_0_fib_Return(+(x1, x0)) | &&(>(x1, 0), >(x0, 0))
552_1_fib_InvokeMethod(98_0_fib_Return, x2, 1) → 617_0_fib_Return(+(x2, 1)) | >(x2, 0)
Performed bisimulation on rules. Used the following equivalence classes: {[76_0_fib_Return, 98_0_fib_Return]=76_0_fib_Return}
Finished conversion. Obtained 9 rules for P and 9 rules for R. System has predefined symbols.
P rules:
64_0_FIB_NE(x0) → COND_64_0_FIB_NE(&&(>(x0, 0), !(=(x0, 1))), x0)
COND_64_0_FIB_NE(TRUE, x0) → 120_1_FIB_INVOKEMETHOD(64_0_fib_NE(-(x0, 1)), x0, -(x0, 1))
COND_64_0_FIB_NE(TRUE, x0) → 64_0_FIB_NE(-(x0, 1))
120_1_FIB_INVOKEMETHOD(76_0_fib_Return, x2, 1) → COND_120_1_FIB_INVOKEMETHOD(>(x2, 0), 76_0_fib_Return, x2, 1)
COND_120_1_FIB_INVOKEMETHOD(TRUE, 76_0_fib_Return, x2, 1) → 64_0_FIB_NE(-(x2, 2))
120_1_FIB_INVOKEMETHOD(570_0_fib_Return(x0), x1, x2) → COND_120_1_FIB_INVOKEMETHOD1(>(x1, 0), 570_0_fib_Return(x0), x1, x2)
COND_120_1_FIB_INVOKEMETHOD1(TRUE, 570_0_fib_Return(x0), x1, x2) → 64_0_FIB_NE(-(x1, 2))
120_1_FIB_INVOKEMETHOD(617_0_fib_Return(x0), x1, x2) → COND_120_1_FIB_INVOKEMETHOD2(>(x1, 0), 617_0_fib_Return(x0), x1, x2)
COND_120_1_FIB_INVOKEMETHOD2(TRUE, 617_0_fib_Return(x0), x1, x2) → 64_0_FIB_NE(-(x1, 2))
R rules:
64_0_fib_NE(0) → 76_0_fib_Return
552_1_fib_InvokeMethod(76_0_fib_Return, arith[1], 0) → Cond_552_1_fib_InvokeMethod(>(arith[1], 0), 76_0_fib_Return, arith[1], 0)
Cond_552_1_fib_InvokeMethod(TRUE, 76_0_fib_Return, arith[1], 0) → 570_0_fib_Return(arith[1])
552_1_fib_InvokeMethod(570_0_fib_Return(x0), x1, x2) → Cond_552_1_fib_InvokeMethod1(&&(>(x1, 0), >(x0, 0)), 570_0_fib_Return(x0), x1, x2)
Cond_552_1_fib_InvokeMethod1(TRUE, 570_0_fib_Return(x0), x1, x2) → 617_0_fib_Return(+(x1, x0))
552_1_fib_InvokeMethod(617_0_fib_Return(x0), x1, x2) → Cond_552_1_fib_InvokeMethod2(&&(>(x1, 0), >(x0, 0)), 617_0_fib_Return(x0), x1, x2)
Cond_552_1_fib_InvokeMethod2(TRUE, 617_0_fib_Return(x0), x1, x2) → 617_0_fib_Return(+(x1, x0))
552_1_fib_InvokeMethod(76_0_fib_Return, x2, 1) → Cond_552_1_fib_InvokeMethod3(>(x2, 0), 76_0_fib_Return, x2, 1)
Cond_552_1_fib_InvokeMethod3(TRUE, 76_0_fib_Return, x2, 1) → 617_0_fib_Return(+(x2, 1))
!= | ~ | Neq: (Integer, Integer) -> Boolean |
* | ~ | Mul: (Integer, Integer) -> Integer |
>= | ~ | Ge: (Integer, Integer) -> Boolean |
-1 | ~ | UnaryMinus: (Integer) -> Integer |
| | ~ | Bwor: (Integer, Integer) -> Integer |
/ | ~ | Div: (Integer, Integer) -> Integer |
= | ~ | Eq: (Integer, Integer) -> Boolean |
~ | Bwxor: (Integer, Integer) -> Integer | |
|| | ~ | Lor: (Boolean, Boolean) -> Boolean |
! | ~ | Lnot: (Boolean) -> Boolean |
< | ~ | Lt: (Integer, Integer) -> Boolean |
- | ~ | Sub: (Integer, Integer) -> Integer |
<= | ~ | Le: (Integer, Integer) -> Boolean |
> | ~ | Gt: (Integer, Integer) -> Boolean |
~ | ~ | Bwnot: (Integer) -> Integer |
% | ~ | Mod: (Integer, Integer) -> Integer |
& | ~ | Bwand: (Integer, Integer) -> Integer |
+ | ~ | Add: (Integer, Integer) -> Integer |
&& | ~ | Land: (Boolean, Boolean) -> Boolean |
Integer, Boolean
(0) -> (1), if (x0[0] > 0 && !(x0[0] = 1) ∧x0[0] →* x0[1])
(0) -> (2), if (x0[0] > 0 && !(x0[0] = 1) ∧x0[0] →* x0[2])
(1) -> (3), if (64_0_fib_NE(x0[1] - 1) →* 76_0_fib_Return∧x0[1] →* x2[3]∧x0[1] - 1 →* 1)
(1) -> (5), if (64_0_fib_NE(x0[1] - 1) →* 570_0_fib_Return(x0[5])∧x0[1] →* x1[5]∧x0[1] - 1 →* x2[5])
(1) -> (7), if (64_0_fib_NE(x0[1] - 1) →* 617_0_fib_Return(x0[7])∧x0[1] →* x1[7]∧x0[1] - 1 →* x2[7])
(2) -> (0), if (x0[2] - 1 →* x0[0])
(3) -> (4), if (x2[3] > 0 ∧x2[3] →* x2[4])
(4) -> (0), if (x2[4] - 2 →* x0[0])
(5) -> (6), if (x1[5] > 0 ∧570_0_fib_Return(x0[5]) →* 570_0_fib_Return(x0[6])∧x1[5] →* x1[6]∧x2[5] →* x2[6])
(6) -> (0), if (x1[6] - 2 →* x0[0])
(7) -> (8), if (x1[7] > 0 ∧617_0_fib_Return(x0[7]) →* 617_0_fib_Return(x0[8])∧x1[7] →* x1[8]∧x2[7] →* x2[8])
(8) -> (0), if (x1[8] - 2 →* x0[0])
(1) (&&(>(x0[0], 0), !(=(x0[0], 1)))=TRUE∧x0[0]=x0[1] ⇒ 64_0_FIB_NE(x0[0])≥NonInfC∧64_0_FIB_NE(x0[0])≥COND_64_0_FIB_NE(&&(>(x0[0], 0), !(=(x0[0], 1))), x0[0])∧(UIncreasing(COND_64_0_FIB_NE(&&(>(x0[0], 0), !(=(x0[0], 1))), x0[0])), ≥))
(2) (>(x0[0], 0)=TRUE∧<(x0[0], 1)=TRUE ⇒ 64_0_FIB_NE(x0[0])≥NonInfC∧64_0_FIB_NE(x0[0])≥COND_64_0_FIB_NE(&&(>(x0[0], 0), !(=(x0[0], 1))), x0[0])∧(UIncreasing(COND_64_0_FIB_NE(&&(>(x0[0], 0), !(=(x0[0], 1))), x0[0])), ≥))
(3) (>(x0[0], 0)=TRUE∧>(x0[0], 1)=TRUE ⇒ 64_0_FIB_NE(x0[0])≥NonInfC∧64_0_FIB_NE(x0[0])≥COND_64_0_FIB_NE(&&(>(x0[0], 0), !(=(x0[0], 1))), x0[0])∧(UIncreasing(COND_64_0_FIB_NE(&&(>(x0[0], 0), !(=(x0[0], 1))), x0[0])), ≥))
(4) (x0[0] + [-1] ≥ 0∧[-1]x0[0] ≥ 0 ⇒ (UIncreasing(COND_64_0_FIB_NE(&&(>(x0[0], 0), !(=(x0[0], 1))), x0[0])), ≥)∧[(-1)Bound*bni_30] + [bni_30]x0[0] ≥ 0∧[1 + (-1)bso_31] ≥ 0)
(5) (x0[0] + [-1] ≥ 0∧x0[0] + [-2] ≥ 0 ⇒ (UIncreasing(COND_64_0_FIB_NE(&&(>(x0[0], 0), !(=(x0[0], 1))), x0[0])), ≥)∧[(-1)Bound*bni_30] + [bni_30]x0[0] ≥ 0∧[1 + (-1)bso_31] ≥ 0)
(6) (x0[0] + [-1] ≥ 0∧[-1]x0[0] ≥ 0 ⇒ (UIncreasing(COND_64_0_FIB_NE(&&(>(x0[0], 0), !(=(x0[0], 1))), x0[0])), ≥)∧[(-1)Bound*bni_30] + [bni_30]x0[0] ≥ 0∧[1 + (-1)bso_31] ≥ 0)
(7) (x0[0] + [-1] ≥ 0∧x0[0] + [-2] ≥ 0 ⇒ (UIncreasing(COND_64_0_FIB_NE(&&(>(x0[0], 0), !(=(x0[0], 1))), x0[0])), ≥)∧[(-1)Bound*bni_30] + [bni_30]x0[0] ≥ 0∧[1 + (-1)bso_31] ≥ 0)
(8) (x0[0] + [-1] ≥ 0∧[-1]x0[0] ≥ 0 ⇒ (UIncreasing(COND_64_0_FIB_NE(&&(>(x0[0], 0), !(=(x0[0], 1))), x0[0])), ≥)∧[(-1)Bound*bni_30] + [bni_30]x0[0] ≥ 0∧[1 + (-1)bso_31] ≥ 0)
(9) (x0[0] + [-1] ≥ 0∧x0[0] + [-2] ≥ 0 ⇒ (UIncreasing(COND_64_0_FIB_NE(&&(>(x0[0], 0), !(=(x0[0], 1))), x0[0])), ≥)∧[(-1)Bound*bni_30] + [bni_30]x0[0] ≥ 0∧[1 + (-1)bso_31] ≥ 0)
(10) (x0[0] ≥ 0∧[-1] + x0[0] ≥ 0 ⇒ (UIncreasing(COND_64_0_FIB_NE(&&(>(x0[0], 0), !(=(x0[0], 1))), x0[0])), ≥)∧[(-1)Bound*bni_30 + bni_30] + [bni_30]x0[0] ≥ 0∧[1 + (-1)bso_31] ≥ 0)
(11) ([1] + x0[0] ≥ 0∧x0[0] ≥ 0 ⇒ (UIncreasing(COND_64_0_FIB_NE(&&(>(x0[0], 0), !(=(x0[0], 1))), x0[0])), ≥)∧[(-1)Bound*bni_30 + (2)bni_30] + [bni_30]x0[0] ≥ 0∧[1 + (-1)bso_31] ≥ 0)
(12) (&&(>(x0[0], 0), !(=(x0[0], 1)))=TRUE∧x0[0]=x0[2] ⇒ 64_0_FIB_NE(x0[0])≥NonInfC∧64_0_FIB_NE(x0[0])≥COND_64_0_FIB_NE(&&(>(x0[0], 0), !(=(x0[0], 1))), x0[0])∧(UIncreasing(COND_64_0_FIB_NE(&&(>(x0[0], 0), !(=(x0[0], 1))), x0[0])), ≥))
(13) (>(x0[0], 0)=TRUE∧<(x0[0], 1)=TRUE ⇒ 64_0_FIB_NE(x0[0])≥NonInfC∧64_0_FIB_NE(x0[0])≥COND_64_0_FIB_NE(&&(>(x0[0], 0), !(=(x0[0], 1))), x0[0])∧(UIncreasing(COND_64_0_FIB_NE(&&(>(x0[0], 0), !(=(x0[0], 1))), x0[0])), ≥))
(14) (>(x0[0], 0)=TRUE∧>(x0[0], 1)=TRUE ⇒ 64_0_FIB_NE(x0[0])≥NonInfC∧64_0_FIB_NE(x0[0])≥COND_64_0_FIB_NE(&&(>(x0[0], 0), !(=(x0[0], 1))), x0[0])∧(UIncreasing(COND_64_0_FIB_NE(&&(>(x0[0], 0), !(=(x0[0], 1))), x0[0])), ≥))
(15) (x0[0] + [-1] ≥ 0∧[-1]x0[0] ≥ 0 ⇒ (UIncreasing(COND_64_0_FIB_NE(&&(>(x0[0], 0), !(=(x0[0], 1))), x0[0])), ≥)∧[(-1)Bound*bni_30] + [bni_30]x0[0] ≥ 0∧[1 + (-1)bso_31] ≥ 0)
(16) (x0[0] + [-1] ≥ 0∧x0[0] + [-2] ≥ 0 ⇒ (UIncreasing(COND_64_0_FIB_NE(&&(>(x0[0], 0), !(=(x0[0], 1))), x0[0])), ≥)∧[(-1)Bound*bni_30] + [bni_30]x0[0] ≥ 0∧[1 + (-1)bso_31] ≥ 0)
(17) (x0[0] + [-1] ≥ 0∧[-1]x0[0] ≥ 0 ⇒ (UIncreasing(COND_64_0_FIB_NE(&&(>(x0[0], 0), !(=(x0[0], 1))), x0[0])), ≥)∧[(-1)Bound*bni_30] + [bni_30]x0[0] ≥ 0∧[1 + (-1)bso_31] ≥ 0)
(18) (x0[0] + [-1] ≥ 0∧x0[0] + [-2] ≥ 0 ⇒ (UIncreasing(COND_64_0_FIB_NE(&&(>(x0[0], 0), !(=(x0[0], 1))), x0[0])), ≥)∧[(-1)Bound*bni_30] + [bni_30]x0[0] ≥ 0∧[1 + (-1)bso_31] ≥ 0)
(19) (x0[0] + [-1] ≥ 0∧[-1]x0[0] ≥ 0 ⇒ (UIncreasing(COND_64_0_FIB_NE(&&(>(x0[0], 0), !(=(x0[0], 1))), x0[0])), ≥)∧[(-1)Bound*bni_30] + [bni_30]x0[0] ≥ 0∧[1 + (-1)bso_31] ≥ 0)
(20) (x0[0] + [-1] ≥ 0∧x0[0] + [-2] ≥ 0 ⇒ (UIncreasing(COND_64_0_FIB_NE(&&(>(x0[0], 0), !(=(x0[0], 1))), x0[0])), ≥)∧[(-1)Bound*bni_30] + [bni_30]x0[0] ≥ 0∧[1 + (-1)bso_31] ≥ 0)
(21) (x0[0] ≥ 0∧[-1] + x0[0] ≥ 0 ⇒ (UIncreasing(COND_64_0_FIB_NE(&&(>(x0[0], 0), !(=(x0[0], 1))), x0[0])), ≥)∧[(-1)Bound*bni_30 + bni_30] + [bni_30]x0[0] ≥ 0∧[1 + (-1)bso_31] ≥ 0)
(22) ([1] + x0[0] ≥ 0∧x0[0] ≥ 0 ⇒ (UIncreasing(COND_64_0_FIB_NE(&&(>(x0[0], 0), !(=(x0[0], 1))), x0[0])), ≥)∧[(-1)Bound*bni_30 + (2)bni_30] + [bni_30]x0[0] ≥ 0∧[1 + (-1)bso_31] ≥ 0)
(23) (COND_64_0_FIB_NE(TRUE, x0[1])≥NonInfC∧COND_64_0_FIB_NE(TRUE, x0[1])≥120_1_FIB_INVOKEMETHOD(64_0_fib_NE(-(x0[1], 1)), x0[1], -(x0[1], 1))∧(UIncreasing(120_1_FIB_INVOKEMETHOD(64_0_fib_NE(-(x0[1], 1)), x0[1], -(x0[1], 1))), ≥))
(24) ((UIncreasing(120_1_FIB_INVOKEMETHOD(64_0_fib_NE(-(x0[1], 1)), x0[1], -(x0[1], 1))), ≥)∧[bni_32] = 0∧[(-1)bso_33] ≥ 0)
(25) ((UIncreasing(120_1_FIB_INVOKEMETHOD(64_0_fib_NE(-(x0[1], 1)), x0[1], -(x0[1], 1))), ≥)∧[bni_32] = 0∧[(-1)bso_33] ≥ 0)
(26) ((UIncreasing(120_1_FIB_INVOKEMETHOD(64_0_fib_NE(-(x0[1], 1)), x0[1], -(x0[1], 1))), ≥)∧[bni_32] = 0∧[(-1)bso_33] ≥ 0)
(27) ((UIncreasing(120_1_FIB_INVOKEMETHOD(64_0_fib_NE(-(x0[1], 1)), x0[1], -(x0[1], 1))), ≥)∧[bni_32] = 0∧0 = 0∧[(-1)bso_33] ≥ 0)
(28) (COND_64_0_FIB_NE(TRUE, x0[2])≥NonInfC∧COND_64_0_FIB_NE(TRUE, x0[2])≥64_0_FIB_NE(-(x0[2], 1))∧(UIncreasing(64_0_FIB_NE(-(x0[2], 1))), ≥))
(29) ((UIncreasing(64_0_FIB_NE(-(x0[2], 1))), ≥)∧[bni_34] = 0∧[(-1)bso_35] ≥ 0)
(30) ((UIncreasing(64_0_FIB_NE(-(x0[2], 1))), ≥)∧[bni_34] = 0∧[(-1)bso_35] ≥ 0)
(31) ((UIncreasing(64_0_FIB_NE(-(x0[2], 1))), ≥)∧[bni_34] = 0∧[(-1)bso_35] ≥ 0)
(32) ((UIncreasing(64_0_FIB_NE(-(x0[2], 1))), ≥)∧[bni_34] = 0∧0 = 0∧[(-1)bso_35] ≥ 0)
(33) (>(x2[3], 0)=TRUE∧x2[3]=x2[4] ⇒ 120_1_FIB_INVOKEMETHOD(76_0_fib_Return, x2[3], 1)≥NonInfC∧120_1_FIB_INVOKEMETHOD(76_0_fib_Return, x2[3], 1)≥COND_120_1_FIB_INVOKEMETHOD(>(x2[3], 0), 76_0_fib_Return, x2[3], 1)∧(UIncreasing(COND_120_1_FIB_INVOKEMETHOD(>(x2[3], 0), 76_0_fib_Return, x2[3], 1)), ≥))
(34) (>(x2[3], 0)=TRUE ⇒ 120_1_FIB_INVOKEMETHOD(76_0_fib_Return, x2[3], 1)≥NonInfC∧120_1_FIB_INVOKEMETHOD(76_0_fib_Return, x2[3], 1)≥COND_120_1_FIB_INVOKEMETHOD(>(x2[3], 0), 76_0_fib_Return, x2[3], 1)∧(UIncreasing(COND_120_1_FIB_INVOKEMETHOD(>(x2[3], 0), 76_0_fib_Return, x2[3], 1)), ≥))
(35) (x2[3] + [-1] ≥ 0 ⇒ (UIncreasing(COND_120_1_FIB_INVOKEMETHOD(>(x2[3], 0), 76_0_fib_Return, x2[3], 1)), ≥)∧[(-1)bni_36 + (-1)Bound*bni_36] + [bni_36]x2[3] ≥ 0∧[(-1)bso_37] ≥ 0)
(36) (x2[3] + [-1] ≥ 0 ⇒ (UIncreasing(COND_120_1_FIB_INVOKEMETHOD(>(x2[3], 0), 76_0_fib_Return, x2[3], 1)), ≥)∧[(-1)bni_36 + (-1)Bound*bni_36] + [bni_36]x2[3] ≥ 0∧[(-1)bso_37] ≥ 0)
(37) (x2[3] + [-1] ≥ 0 ⇒ (UIncreasing(COND_120_1_FIB_INVOKEMETHOD(>(x2[3], 0), 76_0_fib_Return, x2[3], 1)), ≥)∧[(-1)bni_36 + (-1)Bound*bni_36] + [bni_36]x2[3] ≥ 0∧[(-1)bso_37] ≥ 0)
(38) (x2[3] ≥ 0 ⇒ (UIncreasing(COND_120_1_FIB_INVOKEMETHOD(>(x2[3], 0), 76_0_fib_Return, x2[3], 1)), ≥)∧[(-1)Bound*bni_36] + [bni_36]x2[3] ≥ 0∧[(-1)bso_37] ≥ 0)
(39) (COND_120_1_FIB_INVOKEMETHOD(TRUE, 76_0_fib_Return, x2[4], 1)≥NonInfC∧COND_120_1_FIB_INVOKEMETHOD(TRUE, 76_0_fib_Return, x2[4], 1)≥64_0_FIB_NE(-(x2[4], 2))∧(UIncreasing(64_0_FIB_NE(-(x2[4], 2))), ≥))
(40) ((UIncreasing(64_0_FIB_NE(-(x2[4], 2))), ≥)∧[bni_38] = 0∧[1 + (-1)bso_39] ≥ 0)
(41) ((UIncreasing(64_0_FIB_NE(-(x2[4], 2))), ≥)∧[bni_38] = 0∧[1 + (-1)bso_39] ≥ 0)
(42) ((UIncreasing(64_0_FIB_NE(-(x2[4], 2))), ≥)∧[bni_38] = 0∧[1 + (-1)bso_39] ≥ 0)
(43) ((UIncreasing(64_0_FIB_NE(-(x2[4], 2))), ≥)∧[bni_38] = 0∧0 = 0∧[1 + (-1)bso_39] ≥ 0)
(44) (>(x1[5], 0)=TRUE∧570_0_fib_Return(x0[5])=570_0_fib_Return(x0[6])∧x1[5]=x1[6]∧x2[5]=x2[6] ⇒ 120_1_FIB_INVOKEMETHOD(570_0_fib_Return(x0[5]), x1[5], x2[5])≥NonInfC∧120_1_FIB_INVOKEMETHOD(570_0_fib_Return(x0[5]), x1[5], x2[5])≥COND_120_1_FIB_INVOKEMETHOD1(>(x1[5], 0), 570_0_fib_Return(x0[5]), x1[5], x2[5])∧(UIncreasing(COND_120_1_FIB_INVOKEMETHOD1(>(x1[5], 0), 570_0_fib_Return(x0[5]), x1[5], x2[5])), ≥))
(45) (>(x1[5], 0)=TRUE ⇒ 120_1_FIB_INVOKEMETHOD(570_0_fib_Return(x0[5]), x1[5], x2[5])≥NonInfC∧120_1_FIB_INVOKEMETHOD(570_0_fib_Return(x0[5]), x1[5], x2[5])≥COND_120_1_FIB_INVOKEMETHOD1(>(x1[5], 0), 570_0_fib_Return(x0[5]), x1[5], x2[5])∧(UIncreasing(COND_120_1_FIB_INVOKEMETHOD1(>(x1[5], 0), 570_0_fib_Return(x0[5]), x1[5], x2[5])), ≥))
(46) (x1[5] + [-1] ≥ 0 ⇒ (UIncreasing(COND_120_1_FIB_INVOKEMETHOD1(>(x1[5], 0), 570_0_fib_Return(x0[5]), x1[5], x2[5])), ≥)∧[(-1)bni_40 + (-1)Bound*bni_40] + [bni_40]x1[5] ≥ 0∧[(-1)bso_41] ≥ 0)
(47) (x1[5] + [-1] ≥ 0 ⇒ (UIncreasing(COND_120_1_FIB_INVOKEMETHOD1(>(x1[5], 0), 570_0_fib_Return(x0[5]), x1[5], x2[5])), ≥)∧[(-1)bni_40 + (-1)Bound*bni_40] + [bni_40]x1[5] ≥ 0∧[(-1)bso_41] ≥ 0)
(48) (x1[5] + [-1] ≥ 0 ⇒ (UIncreasing(COND_120_1_FIB_INVOKEMETHOD1(>(x1[5], 0), 570_0_fib_Return(x0[5]), x1[5], x2[5])), ≥)∧[(-1)bni_40 + (-1)Bound*bni_40] + [bni_40]x1[5] ≥ 0∧[(-1)bso_41] ≥ 0)
(49) (x1[5] + [-1] ≥ 0 ⇒ (UIncreasing(COND_120_1_FIB_INVOKEMETHOD1(>(x1[5], 0), 570_0_fib_Return(x0[5]), x1[5], x2[5])), ≥)∧0 = 0∧0 = 0∧[(-1)bni_40 + (-1)Bound*bni_40] + [bni_40]x1[5] ≥ 0∧0 = 0∧0 = 0∧[(-1)bso_41] ≥ 0)
(50) (x1[5] ≥ 0 ⇒ (UIncreasing(COND_120_1_FIB_INVOKEMETHOD1(>(x1[5], 0), 570_0_fib_Return(x0[5]), x1[5], x2[5])), ≥)∧0 = 0∧0 = 0∧[(-1)Bound*bni_40] + [bni_40]x1[5] ≥ 0∧0 = 0∧0 = 0∧[(-1)bso_41] ≥ 0)
(51) (COND_120_1_FIB_INVOKEMETHOD1(TRUE, 570_0_fib_Return(x0[6]), x1[6], x2[6])≥NonInfC∧COND_120_1_FIB_INVOKEMETHOD1(TRUE, 570_0_fib_Return(x0[6]), x1[6], x2[6])≥64_0_FIB_NE(-(x1[6], 2))∧(UIncreasing(64_0_FIB_NE(-(x1[6], 2))), ≥))
(52) ((UIncreasing(64_0_FIB_NE(-(x1[6], 2))), ≥)∧[bni_42] = 0∧[1 + (-1)bso_43] ≥ 0)
(53) ((UIncreasing(64_0_FIB_NE(-(x1[6], 2))), ≥)∧[bni_42] = 0∧[1 + (-1)bso_43] ≥ 0)
(54) ((UIncreasing(64_0_FIB_NE(-(x1[6], 2))), ≥)∧[bni_42] = 0∧[1 + (-1)bso_43] ≥ 0)
(55) ((UIncreasing(64_0_FIB_NE(-(x1[6], 2))), ≥)∧[bni_42] = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_43] ≥ 0)
(56) (>(x1[7], 0)=TRUE∧617_0_fib_Return(x0[7])=617_0_fib_Return(x0[8])∧x1[7]=x1[8]∧x2[7]=x2[8] ⇒ 120_1_FIB_INVOKEMETHOD(617_0_fib_Return(x0[7]), x1[7], x2[7])≥NonInfC∧120_1_FIB_INVOKEMETHOD(617_0_fib_Return(x0[7]), x1[7], x2[7])≥COND_120_1_FIB_INVOKEMETHOD2(>(x1[7], 0), 617_0_fib_Return(x0[7]), x1[7], x2[7])∧(UIncreasing(COND_120_1_FIB_INVOKEMETHOD2(>(x1[7], 0), 617_0_fib_Return(x0[7]), x1[7], x2[7])), ≥))
(57) (>(x1[7], 0)=TRUE ⇒ 120_1_FIB_INVOKEMETHOD(617_0_fib_Return(x0[7]), x1[7], x2[7])≥NonInfC∧120_1_FIB_INVOKEMETHOD(617_0_fib_Return(x0[7]), x1[7], x2[7])≥COND_120_1_FIB_INVOKEMETHOD2(>(x1[7], 0), 617_0_fib_Return(x0[7]), x1[7], x2[7])∧(UIncreasing(COND_120_1_FIB_INVOKEMETHOD2(>(x1[7], 0), 617_0_fib_Return(x0[7]), x1[7], x2[7])), ≥))
(58) (x1[7] + [-1] ≥ 0 ⇒ (UIncreasing(COND_120_1_FIB_INVOKEMETHOD2(>(x1[7], 0), 617_0_fib_Return(x0[7]), x1[7], x2[7])), ≥)∧[(-1)bni_44 + (-1)Bound*bni_44] + [bni_44]x1[7] ≥ 0∧[(-1)bso_45] ≥ 0)
(59) (x1[7] + [-1] ≥ 0 ⇒ (UIncreasing(COND_120_1_FIB_INVOKEMETHOD2(>(x1[7], 0), 617_0_fib_Return(x0[7]), x1[7], x2[7])), ≥)∧[(-1)bni_44 + (-1)Bound*bni_44] + [bni_44]x1[7] ≥ 0∧[(-1)bso_45] ≥ 0)
(60) (x1[7] + [-1] ≥ 0 ⇒ (UIncreasing(COND_120_1_FIB_INVOKEMETHOD2(>(x1[7], 0), 617_0_fib_Return(x0[7]), x1[7], x2[7])), ≥)∧[(-1)bni_44 + (-1)Bound*bni_44] + [bni_44]x1[7] ≥ 0∧[(-1)bso_45] ≥ 0)
(61) (x1[7] + [-1] ≥ 0 ⇒ (UIncreasing(COND_120_1_FIB_INVOKEMETHOD2(>(x1[7], 0), 617_0_fib_Return(x0[7]), x1[7], x2[7])), ≥)∧0 = 0∧0 = 0∧[(-1)bni_44 + (-1)Bound*bni_44] + [bni_44]x1[7] ≥ 0∧0 = 0∧0 = 0∧[(-1)bso_45] ≥ 0)
(62) (x1[7] ≥ 0 ⇒ (UIncreasing(COND_120_1_FIB_INVOKEMETHOD2(>(x1[7], 0), 617_0_fib_Return(x0[7]), x1[7], x2[7])), ≥)∧0 = 0∧0 = 0∧[(-1)Bound*bni_44] + [bni_44]x1[7] ≥ 0∧0 = 0∧0 = 0∧[(-1)bso_45] ≥ 0)
(63) (COND_120_1_FIB_INVOKEMETHOD2(TRUE, 617_0_fib_Return(x0[8]), x1[8], x2[8])≥NonInfC∧COND_120_1_FIB_INVOKEMETHOD2(TRUE, 617_0_fib_Return(x0[8]), x1[8], x2[8])≥64_0_FIB_NE(-(x1[8], 2))∧(UIncreasing(64_0_FIB_NE(-(x1[8], 2))), ≥))
(64) ((UIncreasing(64_0_FIB_NE(-(x1[8], 2))), ≥)∧[bni_46] = 0∧[1 + (-1)bso_47] ≥ 0)
(65) ((UIncreasing(64_0_FIB_NE(-(x1[8], 2))), ≥)∧[bni_46] = 0∧[1 + (-1)bso_47] ≥ 0)
(66) ((UIncreasing(64_0_FIB_NE(-(x1[8], 2))), ≥)∧[bni_46] = 0∧[1 + (-1)bso_47] ≥ 0)
(67) ((UIncreasing(64_0_FIB_NE(-(x1[8], 2))), ≥)∧[bni_46] = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_47] ≥ 0)
POL(TRUE) = 0
POL(FALSE) = 0
POL(64_0_fib_NE(x1)) = [-1] + [-1]x1
POL(0) = 0
POL(76_0_fib_Return) = [-1]
POL(552_1_fib_InvokeMethod(x1, x2, x3)) = [-1] + [-1]x2 + [-1]x1
POL(Cond_552_1_fib_InvokeMethod(x1, x2, x3, x4)) = [-1] + [-1]x3
POL(>(x1, x2)) = [-1]
POL(570_0_fib_Return(x1)) = x1
POL(Cond_552_1_fib_InvokeMethod1(x1, x2, x3, x4)) = [-1] + [-1]x3 + [-1]x2
POL(&&(x1, x2)) = [-1]
POL(617_0_fib_Return(x1)) = x1
POL(+(x1, x2)) = x1 + x2
POL(Cond_552_1_fib_InvokeMethod2(x1, x2, x3, x4)) = [-1] + [-1]x3 + [-1]x2
POL(1) = [1]
POL(Cond_552_1_fib_InvokeMethod3(x1, x2, x3, x4)) = [-1] + [-1]x3
POL(64_0_FIB_NE(x1)) = x1
POL(COND_64_0_FIB_NE(x1, x2)) = [-1] + x2
POL(!(x1)) = [-1]
POL(=(x1, x2)) = [-1]
POL(120_1_FIB_INVOKEMETHOD(x1, x2, x3)) = [-1] + x2
POL(-(x1, x2)) = x1 + [-1]x2
POL(COND_120_1_FIB_INVOKEMETHOD(x1, x2, x3, x4)) = [-1] + x3
POL(2) = [2]
POL(COND_120_1_FIB_INVOKEMETHOD1(x1, x2, x3, x4)) = [-1] + x3
POL(COND_120_1_FIB_INVOKEMETHOD2(x1, x2, x3, x4)) = [-1] + x3
64_0_FIB_NE(x0[0]) → COND_64_0_FIB_NE(&&(>(x0[0], 0), !(=(x0[0], 1))), x0[0])
COND_120_1_FIB_INVOKEMETHOD(TRUE, 76_0_fib_Return, x2[4], 1) → 64_0_FIB_NE(-(x2[4], 2))
COND_120_1_FIB_INVOKEMETHOD1(TRUE, 570_0_fib_Return(x0[6]), x1[6], x2[6]) → 64_0_FIB_NE(-(x1[6], 2))
COND_120_1_FIB_INVOKEMETHOD2(TRUE, 617_0_fib_Return(x0[8]), x1[8], x2[8]) → 64_0_FIB_NE(-(x1[8], 2))
64_0_FIB_NE(x0[0]) → COND_64_0_FIB_NE(&&(>(x0[0], 0), !(=(x0[0], 1))), x0[0])
120_1_FIB_INVOKEMETHOD(76_0_fib_Return, x2[3], 1) → COND_120_1_FIB_INVOKEMETHOD(>(x2[3], 0), 76_0_fib_Return, x2[3], 1)
120_1_FIB_INVOKEMETHOD(570_0_fib_Return(x0[5]), x1[5], x2[5]) → COND_120_1_FIB_INVOKEMETHOD1(>(x1[5], 0), 570_0_fib_Return(x0[5]), x1[5], x2[5])
120_1_FIB_INVOKEMETHOD(617_0_fib_Return(x0[7]), x1[7], x2[7]) → COND_120_1_FIB_INVOKEMETHOD2(>(x1[7], 0), 617_0_fib_Return(x0[7]), x1[7], x2[7])
COND_64_0_FIB_NE(TRUE, x0[1]) → 120_1_FIB_INVOKEMETHOD(64_0_fib_NE(-(x0[1], 1)), x0[1], -(x0[1], 1))
COND_64_0_FIB_NE(TRUE, x0[2]) → 64_0_FIB_NE(-(x0[2], 1))
120_1_FIB_INVOKEMETHOD(76_0_fib_Return, x2[3], 1) → COND_120_1_FIB_INVOKEMETHOD(>(x2[3], 0), 76_0_fib_Return, x2[3], 1)
120_1_FIB_INVOKEMETHOD(570_0_fib_Return(x0[5]), x1[5], x2[5]) → COND_120_1_FIB_INVOKEMETHOD1(>(x1[5], 0), 570_0_fib_Return(x0[5]), x1[5], x2[5])
120_1_FIB_INVOKEMETHOD(617_0_fib_Return(x0[7]), x1[7], x2[7]) → COND_120_1_FIB_INVOKEMETHOD2(>(x1[7], 0), 617_0_fib_Return(x0[7]), x1[7], x2[7])
64_0_fib_NE(0)1 → 76_0_fib_Return1
!= | ~ | Neq: (Integer, Integer) -> Boolean |
* | ~ | Mul: (Integer, Integer) -> Integer |
>= | ~ | Ge: (Integer, Integer) -> Boolean |
-1 | ~ | UnaryMinus: (Integer) -> Integer |
| | ~ | Bwor: (Integer, Integer) -> Integer |
/ | ~ | Div: (Integer, Integer) -> Integer |
= | ~ | Eq: (Integer, Integer) -> Boolean |
~ | Bwxor: (Integer, Integer) -> Integer | |
|| | ~ | Lor: (Boolean, Boolean) -> Boolean |
! | ~ | Lnot: (Boolean) -> Boolean |
< | ~ | Lt: (Integer, Integer) -> Boolean |
- | ~ | Sub: (Integer, Integer) -> Integer |
<= | ~ | Le: (Integer, Integer) -> Boolean |
> | ~ | Gt: (Integer, Integer) -> Boolean |
~ | ~ | Bwnot: (Integer) -> Integer |
% | ~ | Mod: (Integer, Integer) -> Integer |
& | ~ | Bwand: (Integer, Integer) -> Integer |
+ | ~ | Add: (Integer, Integer) -> Integer |
&& | ~ | Land: (Boolean, Boolean) -> Boolean |
Integer, Boolean
(1) -> (3), if (64_0_fib_NE(x0[1] - 1) →* 76_0_fib_Return∧x0[1] →* x2[3]∧x0[1] - 1 →* 1)
(1) -> (5), if (64_0_fib_NE(x0[1] - 1) →* 570_0_fib_Return(x0[5])∧x0[1] →* x1[5]∧x0[1] - 1 →* x2[5])
(1) -> (7), if (64_0_fib_NE(x0[1] - 1) →* 617_0_fib_Return(x0[7])∧x0[1] →* x1[7]∧x0[1] - 1 →* x2[7])
!= | ~ | Neq: (Integer, Integer) -> Boolean |
* | ~ | Mul: (Integer, Integer) -> Integer |
>= | ~ | Ge: (Integer, Integer) -> Boolean |
-1 | ~ | UnaryMinus: (Integer) -> Integer |
| | ~ | Bwor: (Integer, Integer) -> Integer |
/ | ~ | Div: (Integer, Integer) -> Integer |
= | ~ | Eq: (Integer, Integer) -> Boolean |
~ | Bwxor: (Integer, Integer) -> Integer | |
|| | ~ | Lor: (Boolean, Boolean) -> Boolean |
! | ~ | Lnot: (Boolean) -> Boolean |
< | ~ | Lt: (Integer, Integer) -> Boolean |
- | ~ | Sub: (Integer, Integer) -> Integer |
<= | ~ | Le: (Integer, Integer) -> Boolean |
> | ~ | Gt: (Integer, Integer) -> Boolean |
~ | ~ | Bwnot: (Integer) -> Integer |
% | ~ | Mod: (Integer, Integer) -> Integer |
& | ~ | Bwand: (Integer, Integer) -> Integer |
+ | ~ | Add: (Integer, Integer) -> Integer |
&& | ~ | Land: (Boolean, Boolean) -> Boolean |
Integer, Boolean